#include <stdio.h>
#include <stdlib.h>

typedef int ElemSet; /* 默认元素为整数*/
#define Swap(x, y) { ElemSet t = x; x = y; y = t; }

/* 算法10-3：简单选择排序 SelectionSort(a,l,r) */
void SelectionSort(ElemSet *a, int l, int r) {
    int i, j, min;

    for (i = l; i < r;
            i++) { /* 依次从剩余未排序序列中选取一个最小的记录 */
        min = i;
        for (j = i + 1; j <= r; j++) {
            if (a[j] < a[min]) {
                min = j;
            }
        }
        Swap(a[i],
             a[min]); /* 将当前的最小记录放入已排序好的队列的末尾 */
    }
}
/* 算法10-3 结束 */

int main(void) {
    ElemSet *a; /* 数组a的下标从0开始 */
    int n, i;

    scanf("%d", &n);
    a = (ElemSet *)malloc(sizeof(ElemSet) * n);
    for (i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }
    SelectionSort(a, 0, n - 1);
    for (i = 0; i < n; i++) {
        printf("%d ", a[i]);
    }

    return 0;
}